#include<iostream>
#include"tags.h"

template<class Vec>
void output(const Vec& v, math::vector_tag)
{
	for(int i = 0; i < v.size(); ++i)
		std::cout << v[i] << ",";
}

template<class Mat>
void output(const Mat& m, math::matrix_tag)
{
	for(int i = 0; i < m.size1(); ++i)
	{
		for(int j = 0; j < m.size2(); ++j)
		{
			std::cout << m(i,j) << ",";
		}
		std::cout << "\n";
	}
}

template<class T>
void output(const T& t)
{
	output(t, typename T::category());
}
